package cc.rengu.redp.bizimpl.upmp.controller;


import cc.rengu.redp.bizimpl.upmp.domain.BizTmp;
import cc.rengu.redp.bizimpl.upmp.service.IBizTmpService;
import cc.rengu.redp.common.annotation.Log;
import cc.rengu.redp.common.controller.BaseController;
import cc.rengu.redp.common.domain.QueryRequest;
import cc.rengu.redp.common.exception.RedpException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

/**
 * @author guohaocong
 */
@Slf4j
@RestController
@Api(tags = "审核管理")
@RequestMapping("admin/upmp/bizTmp")
public class BizTmpController extends BaseController {

    @Autowired
    private IBizTmpService bizTmpService;



    @Log("审核管理:分页")
    @GetMapping("/findPage")
    public Map<String, Object> findPage(QueryRequest request, BizTmp bizTmp) throws RedpException {
        return getDataTable(bizTmpService.findPage(request, bizTmp));

    }

    @Log("操作菜单列表")
    @GetMapping("/operMenuSelect2List")
    public Map<String, Object> operMenuSelect2List(QueryRequest request , BizTmp bizTmp) {
        return bizTmpService.operMenuSelect2List(request, bizTmp);
    }


    @Log("审核管理:审核管理")
    @GetMapping("/UserCheckPrivilege")
    public Map<String, Object> UserCheckPrivilege(String bizTmpId, String userId) throws RedpException {
        return bizTmpService.userCheckPrivilege(bizTmpId, userId);
    }

    @Log("审核管理：审核跳转")
    @GetMapping("/checkUrl")
    public String checkUrl(String bizTmpId, String userId) {
        return bizTmpService.getCheckUrl(bizTmpId, userId);
    }

    @Log("审核管理：页面显示")
    @GetMapping("/findData")
    public BizTmp findData(String id) {
        return bizTmpService.getById(id);
    }

    /**
     * 查询登录用户待审核事项
     *
     * @param id
     * @param instId
     * @return
     */
    //TODO
    @Log("获取业务数据临时表数据")
    @PostMapping("/getBizTmp")
    public Map<String, Object> getBizTmp(String id, String instId) {
        return bizTmpService.getBizTmp(id, instId);

    }
}
